import {
  defineConfig
} from 'vite'
import { resolve } from 'path';
import vue from '@vitejs/plugin-vue'
import autoprefixer from"autoprefixer";
import pxtorem from"postcss-pxtorem";
// import topLevelAwait from 'vite-plugin-top-level-await';
// https://vitejs.dev/config/
export default defineConfig({
  build: {
    rollupOptions: {
      output: {
        environment: resolve(__dirname, '.env'),
      },
    },
  },
  css: {
    loaderOptions: {
      postcss: {
		postcssOptions:{
		  plugins: [
		    autoprefixer(),
		    pxtorem({
		      rootValue: 192,  //根据设计稿宽度/10
		      propList: ["*"] 
		    })
		  ]
		}
      }
    }
  },
  plugins: [vue(),],
  base: './',
  resolve: {
    alias: {
      alias: {
        "@": "/src"
      }
    }
  },
  // server: {
  //   proxy: {
  //     '/Service.asmx': { // 请求接口中要替换的标识
  //       target: ' process.env.VUE_APP_API_URL', // 代理地址
  //       changeOrigin: true, // 是否改变源地址
  //       pathRewrite: {
  //         '^Service.asmx': ''
  //       }
  //     }
  //   }

  // }


})
// import { defineConfig } from 'vite';
// import { resolve } from 'path';
// import vue from '@vitejs/plugin-vue';
// import autoprefixer from 'autoprefixer';
// import pxtorem from 'postcss-pxtorem';
// // import { terser } from '@rollup/plugin-terser';
// // import cssnano from 'cssnano';

// export default defineConfig({
//   plugins: [vue()],
//   resolve: {
//     alias: {
//       '@': resolve(__dirname, 'src')
//     }
//   },
//   css: {
//     loaderOptions: {
//       postcss: {
//         postcssOptions: {
//           plugins: [
//             autoprefixer(),
//             pxtorem({
//               rootValue: 192,  // 根据设计稿宽度/10
//               propList: ['*']
//             })
//           ]
//         }
//       }
//     }
//   },
//   build: {
//     outDir: 'dist',
//     assetsDir: 'js',
//     rollupOptions: {
//       output: {
//         // 资产文件命名规则
//         assetFileNames: (assetInfo) => {
//           let fileName = '';
//           if (assetInfo.name.endsWith('.js')) {
//             fileName = `js/[name].[hash].js`;
//           } else if (assetInfo.name.endsWith('.css')) {
//             fileName = `css/[name].[hash].css`;
//           } else {
//             fileName = `images/[name]-[hash][extname]`;
//           }
//           return fileName;
//         },
//         manualChunks(id) {
//           if (id.includes('node_modules')) {
//             return id.toString().split('node_modules/')[1].split('/')[0].toString();
//           }
//         }
//       },
//       plugins: [
//         // terser({ compress: { drop_console: true, drop_debugger: true } }), // 压缩 JavaScript 文件
//         // {
//         //   name: 'css-compress',
//         //   generateBundle(_outputOptions, bundle) {
//         //     Object.keys(bundle).forEach((fileName) => {
//         //       const asset = bundle[fileName];
//         //       if (asset.type === 'asset' && asset.name.endsWith('.css')) {
//         //         asset.source = cssnano.processSync(asset.source).css;
//         //       }
//         //     });
//         //   }
//         // }
//       ]
//     }
//   },
//   base: './', // 设置 base 为相对路径
//   // server: {
//   //   host: true,
//   //   port: 3000,
//   //   open: true,
//   //   proxy: {
//   //     '/api': {
//   //       target: process.env.VUE_APP_API_URL,
//   //       changeOrigin: true,
//   //       rewrite: (path) => path.replace(/^\/api/, '')
//   //     }
//   //   }
//   // }
// });